Facets can be drawn in two different styles, either solid filled or a series of lines linking the vertices (the boundary). This attribute is set using the routine:
gSetFacetFillStyle(fill)where fill can be either GSOLID (default) or GHOLLOW. In both cases, the facet is drawn using the current colour or material properties.
The current facet fill style can be enquired using the following routine:
gEnqFacetFillStyle(fill)As it is not possible to define a different coloured boundary to that of the centre, if two such colours are required then the facet needs to be drawn twice with different colour attributes (but see below).
Where a facet boundary needs to be displayed as well as its interior, or some additional detail needs to be added to the 'surface' of an object, care needs to be taken as to the hidden surface mechanism used in GINO. Full details of the depth buffering technique used to display 3D objects is given later in this document (see Depth Buffering), suffice to say that the default is to only display information that is nearer to the viewer. This has the effect of removing detail at the same distance from the viewer (unless the default depth buffering mode is changed) subject to the accuracy of the Z buffer.
A useful alternative to the modification of the depth buffer, is to specify a nominal offset to either the facet's interior or its boundary as necessary. This can be achieved using the following routine:
gSetFacetOffsetMode(mode)where mode can be any of the following:
| GOFF | Switch off all offsets |
| GBOUNDARYAWAY | Shift boundary away from viewer |
| GINTERIORAWAY | Shift interior away from viewer |
| GINTERIORNEAR | Shift interior nearer viewer |
| GBOUNDARYNEAR | Shift boundary nearer viewer |
In the simple case of requiring the visibility of both the facet and its boundary, the boundary can be 'shifted' nearer the viewer by setting the offset mode to GBOUNDARYNEAR. Where additional surface detail is required, possibly drawn using gDrawPolylineTo3D(), shifting the interior away from the viewer would be the preferred option (mode = GINTERIORAWAY).
The current facet fill style can be enquired using the following routine:
gEnqFacetOffsetMode(mode)